<?php
/**
 * Autor:   Miguel A. Zilli
 * Email:   miguelzilli@gmail.com
 */

class AgroquimicoxproduccionesController extends AppController {
    var $name = 'Agroquimicoxproducciones';
    var $uses = array('Agroquimicoxproduccion','Agroquimico','Acoproduccion','Productor');

    function __checkPermisos($id_produccion=null){
        $id_productor=$this->Acoproduccion->field('Acoproduccion.productor_id',array('Acoproduccion.id'=>$id_produccion));
        parent::__checkPermisos($id_productor);
    }

    function agregar($id_produccion){
        $this->__checkPermisos($id_produccion);
        if(!empty($this->data)){
            $this->data['Agroquimicoxproduccion']['acoproduccion_id']=$id_produccion;
            if($this->Agroquimicoxproduccion->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect('/acoproducciones/ver/'.$id_produccion);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        $this->set('acoproduccion',$this->Acoproduccion->find('first',array(
                    'conditions'=>'Acoproduccion.id='.$id_produccion,
                    'recursive'=>'-1'
                )));
        $agroquimicos=$this->Agroquimico->find('all',array(
                'fields'=>array('Agroquimico.id','Agroquimicotipo.nombre_tipo_ag','Agroquimico.nombre_agro'),
                'order'=>array('Agroquimicotipo.nombre_tipo_ag'=>'ASC','Agroquimico.nombre_agro'=>'ASC')
            ));
        $this->set('agroquimicos',Set::combine($agroquimicos, '{n}.Agroquimico.id',array(
                    '%s: %s',
                    '{n}.Agroquimicotipo.nombre_tipo_ag',
                    '{n}.Agroquimico.nombre_agro'
                )));
    }

    function editar($id){
        $id_produccion=$this->Agroquimicoxproduccion->field('Agroquimicoxproduccion.acoproduccion_id',array('Agroquimicoxproduccion.id'=>$id));
        $this->__checkPermisos($id_produccion);
        if(!empty($this->data)){
            if ($this->Agroquimicoxproduccion->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect('/acoproducciones/ver/'.$this->data['Agroquimicoxproduccion']['acoproduccion_id']);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        if(empty($this->data)){
            $this->data=$this->Agroquimicoxproduccion->read(null,$id);
        }
        $agroquimicos=$this->Agroquimico->find('all',array(
                'fields'=>array('Agroquimico.id','Agroquimicotipo.nombre_tipo_ag','Agroquimico.nombre_agro'),
                'order'=>array('Agroquimicotipo.nombre_tipo_ag'=>'ASC','Agroquimico.nombre_agro'=>'ASC')
            ));
        $this->set('agroquimicos',Set::combine($agroquimicos, '{n}.Agroquimico.id',array(
                    '%s: %s',
                    '{n}.Agroquimicotipo.nombre_tipo_ag',
                    '{n}.Agroquimico.nombre_agro'
                )));
    }

    function eliminar($id){
        $id_produccion=$this->Agroquimicoxproduccion->field('Agroquimicoxproduccion.produccion_id',array('Agroquimicoxproduccion.id'=>$id));
        $this->__checkPermisos($id_produccion);
        if($this->Agroquimicoxproduccion->del($id)){
            $this->Session->setFlash('Operacion realizada correctamente.');
            $this->redirect('/acoproducciones/ver/'.$id_produccion);
        }else{
            $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            $this->redirect('/acoproducciones/ver/'.$id_produccion);
        }
    }
}
?>